Skip to content

Chore/website#69

Closed
y-schwab wants to merge 50 commits intoAutomateThePlanet:mainfrom
verisoft-ai:chore/website
Closed

Chore/website#69
y-schwab wants to merge 50 commits intoAutomateThePlanet:mainfrom
verisoft-ai:chore/website

Conversation

@y-schwab
Copy link
Copy Markdown
Contributor

Proposed changes

This is a first look at a appium-desktop-driver website

Types of changes

What types of changes does your code introduce to Appium?
Put an x in the boxes that apply

  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation Update (if none of the other choices apply)

Checklist

Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

  • I have read the Contributing Guide
  • I have signed the CLA
  • Lint passes locally with my changes
  • I have added tests that prove my fix is effective or that my feature works
  • I have added the necessary documentation (if appropriate)
  • Any dependent changes have been merged and published in downstream modules

y-schwab and others added 30 commits March 10, 2026 18:53
Introduce a standalone MCP server binary (novawindows-mcp) that exposes the NovaWindows driver capabilities over the Model Context Protocol.
…698856207

Add Claude Code GitHub Workflow
fix: replace NovaWindows automation name with DesktopDriver
fix: fix attaching to wrong application window
  Bug fixes:
  - Use top-level fs import instead of inline require() in appium-manager
  - Fix spawn race: replace setImmediate with child.once('spawn') (Node ≥15.1)
  - Fix CSS selector bug: use driver.findElement/findElements/findElementFromElement
    protocol calls directly; 'id' aliased to 'accessibility id' as documented
  - Fix appium:waitForAppLaunch capability (drop incorrect ms: infix)
  - Fix get_clipboard to pass { contentType } object, not bare string
  - Fix get_window_element to throw on unexpected response instead of String(result)
  - Fix get_attribute returning the string "null" for absent attributes (now "")
  - Remove dead ?? 1500 fallback (Zod default always fills the value)

  Quality:
  - Extract shared ELEMENT_KEY to lib/mcp/constants.ts
  - Return image content type from take_screenshot (MCP image rendering)
  - Move maximize/minimize/restore/close_window to window.ts (out of patterns.ts)
  - Add readOnlyHint/destructiveHint/idempotentHint annotations to all tools

  New tools: wait_for_element, get_toggle_state, focus_element, select_item
Add MCP server (novawindows-mcp)

Exposes the NovaWindows driver as an MCP server, allowing AI agents to automate Windows desktop apps directly via the Model Context Protocol 39 tools across 8 domains: session lifecycle, app launch/close, element finding, interaction (click, type, scroll, drag), inspection, window management, clipboard, and advanced UIA patterns.

Includes a full unit test suite and .mcp.json for zero-config local setup.
y-schwab and others added 20 commits March 19, 2026 12:18
…chInterval

Non-negative number of retries and timeout between retries expected asarguments
Some apps spwan child processes os we need to track their PID to be able to attach to the correct window
fix(window): track child processes  spawned from launched apps.
…etry

feat(capability): Add capabilities windowSwitchRetries and windowSwichInterval
implemented commands: pushFile, pullFile, pullFolder, hideKeyboard, isKeyboardShown, activateApp, terminateApp and isAppInstalled
Added getMonitors command to allow users to choose where to display elements.
Updated clicks to use virtual screen coordinates
…-appium-desktop

docs: rename NovaWindows → Appium Desktop across documentation
feat(display): add support for multi monitor  testing
chore(release): bump version and re-added the auto release workflow
## [1.4.0](v1.3.1...v1.4.0) (2026-03-23)

### Features

* **capability:** Add capabilities windowSwitchRetries and windowSwitchInterval ([a831b3a](a831b3a))
* custom env variables capabilities ([6a98b5c](6a98b5c))
* **display:** add support for multi monitor  testing ([1029aec](1029aec))
* Implemented missing commands ([4434b99](4434b99))
* **mcp:** add MCP server with 39 tools and unit test suite ([cf3d464](cf3d464))

### Bug Fixes

* Add allowed tools to claude code reviewer ([c4c18e9](c4c18e9))
* add tabbing ([c0cb0e8](c0cb0e8))
* fix attaching to wrong application window ([8960843](8960843))
* fix code review comments ([d7bebd9](d7bebd9))
* **lint:** resolve lint errors ([5b72f12](5b72f12))
* **mcp:** resolve bugs, add tool annotations, and new UIA tools ([fd73365](fd73365))
* Remove claude code review workflow ([88f921d](88f921d))
* Remove outerloops ([92eedfa](92eedfa))
* replace NovaWindows automation name with DesktopDriver ([dd585b9](dd585b9))
* **window:** narrow appProcessIds to the attached window's PID ([d281444](d281444))
* **window:** track child processes  spawned from launched apps. ([f1e6bff](f1e6bff))
* **window:** window handles access capability added ([eefb804](eefb804))

### Miscellaneous Chores

* bump version to 1.1.0 ([393bdae](393bdae))
* bump version to 1.2.0 ([94a4f04](94a4f04))
* **claude:** Add constraints and context for claude code review ([e95c6b2](e95c6b2))
* **claude:** change constraints for claude code review ([3acee1c](3acee1c))
* **npm:** Ignore build artifacts and local mcp/claude config ([c9d3529](c9d3529))
* prepare package for verisoft npm distribution ([5b35ff7](5b35ff7))
* **release:** bump version and re-added the auto release workflow ([8555903](8555903))
* remove auto publish on push to main ([e940fd1](e940fd1))

### Code Refactoring

* **mcp:** remove auto-start, require Appium to be running externally ([8b76810](8b76810))
fix(mcp): change mcp naming to match new Desktop Driver convention
## [1.4.1](v1.4.0...v1.4.1) (2026-03-23)

### Bug Fixes

* **mcp:** change mcp naming to match new Desktop Driver convention ([e77a7b0](e77a7b0))
@y-schwab y-schwab closed this Mar 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants